<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>回调函数传值和函数返回值传值的比较</title>
</head>
<body>
<script>
  /*
  * 回调函数传值
  *   优点：本质上是基于函数传值所以传值很灵活，可以穿插在代码片段中灵活传值
  *   缺点: 调用的时候逻辑要写在回调函数中，可能存在回调地狱(可以使用Promise),
  *        如果返回的值要多次使用很麻烦（要么通过函数传值，要么通过中介变量)
  *
  *   例子:数组中的各种高阶方法，DOM事件的回调函数
  *
  * 函数返回值传值
  *   优点:灵活简洁，调用函数接收返回值就行，由于使用变量接收了数据可以多次使用
  *   缺点:无法做到灵活动态传值
  *
  *   例子：React useState使用的就是返回值传值
  *
  * */
</script>
</body>
</html>